using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Gratamira.AccesoDato;

namespace Gratamira.CapaNegocio
{
    public class Periodo
    {
        private int _PeriodoID;
        private DateTime _FechaIni;
        private DateTime _FechaFin;
        private string _Usuario;
        private DateTime _FechaHora;

        #region Propiedades
        public int PeriodoID
        {
            get
            {
                return _PeriodoID;
            }
            set
            {
                _PeriodoID = value;
            }
        }

        public DateTime FechaIni
        {
            get
            {
                return _FechaIni;
            }
            set
            {
                _FechaIni = value;
            }
        }

        public DateTime FechaFin
        {
            get
            {
                return _FechaFin;
            }
            set
            {
                _FechaFin = value;
            }
        }
        public String Usuario
        {
            get
            {
                return _Usuario;
            }
            set
            {
                _Usuario = value;
            }
        }
        public DateTime FechaHora
        {
            get
            {
                return _FechaHora;
            }
            set
            {
                _FechaHora = value;
            }
        }
        #endregion Propiedades

        #region Constructores
        public Periodo(DataSet dsDatos)
        {
            string tSql = "SELECT PeriodoID, FechaIni, FechaFin,CodUsuCre, FecHorCre, UsuUltMod, FecUltMod " +
                          "FROM PERIODO ORDER BY PeriodoID";
            accesoDatos p = new accesoDatos();
            DataTable dt = new DataTable();
            dt = p.leerDatosSQL(tSql, "");
            dt.TableName = "Periodo";
            dsDatos.Tables.Add(dt);
        }
        public Periodo()
        {
        }
        #endregion Constructores

        #region Metodos Publicos
        public void insertarRegistro()
        {
            FechaHora = DateTime.Now;
            string tSql = "INSERT INTO PERIODO (PeriodoID, FechaIni, FechaFin,CodUsuCre, FecHorCre, UsuUltMod, FecUltMod) " + 
                          "VALUES (" + PeriodoID + 
                          ",'" + FechaIni.ToString("M/dd/yyyy") + "'" +
                          ",'" + FechaFin.ToString("M/dd/yyyy") + "'" +
                          ",'" + Usuario + "'" +
                          ",'" + FechaHora.ToString("M/dd/yyyy hh:mm:ss") + "'" +
                          ",'" + Usuario + "'" +
                          ",'" + FechaHora.ToString("M/dd/yyyy hh:mm:ss") + "')";
            accesoDatos p = new accesoDatos();
            int nRegs = p.ejecutarSQL(tSql, "");
        }

        public void actualizarRegistro()
        {
            FechaHora = DateTime.Now;
            string tSql = "UPDATE PERIODO SET " +
                          "FechaIni = '" + FechaIni.ToString("M/dd/yyyy") + "', " +
                          "FechaFin = '" + FechaFin.ToString("M/dd/yyyy") + "', " +
                          "UsuUltMod = '" + Usuario + "', " +
                          "FecUltMod = '" + FechaHora.ToString("M/dd/yyyy hh:mm:ss")  + "'" + 
                          " WHERE PeriodoID = " + PeriodoID; 
            accesoDatos p = new accesoDatos();
            int nRegs = p.ejecutarSQL(tSql, "");
        }
        
        public void borrarRegistro()
        {
            string tSql = "DELETE FROM PERIODO " +
                          "WHERE PeriodoID = " + PeriodoID;
            accesoDatos p = new accesoDatos();
            int nRegs = p.ejecutarSQL(tSql, "");
        }
        #endregion Metodos Publicos
    }
}
